'use strict';
const LOADING_STATE = null;
const COLLATION_OPTIONS = [
  {
    field: 'locale',
    values: [
      { value: 'af', label: 'af - Afrikaans' },
      { value: 'sq', label: 'sq - Albanian' },
      { value: 'am', label: 'am - Amharic' },
      { value: 'ar', label: 'ar - Arabic' },
      { value: 'ar@collation=compat', label: 'ar - Arabic - compat' },
      { value: 'hy', label: 'hy - Armenian' },
      { value: 'as', label: 'as - Assamese' },
      { value: 'az', label: 'az - Azeri' },
      { value: 'az@collation=search', label: 'az - Azeri - search' },
      { value: 'be', label: 'be - Belarusian' },
      { value: 'bn', label: 'bn - Bengali' },
      {
        value: 'bn@collation=traditional',
        label: 'bn - Bengali - traditional',
      },
      { value: 'bs', label: 'bs - Bosnian' },
      { value: 'bs@collation=search', label: 'bs - Bosnian - search' },
      { value: 'bs_Cyrl', label: 'bs_Cyrl - Bosnian (Cyrillic)' },
      { value: 'bg', label: 'bg - Bulgarian' },
      { value: 'my', label: 'my - Burmese' },
      { value: 'ca', label: 'ca - Catalan' },
      { value: 'ca@collation=search', label: 'ca - Catalan - search' },
      { value: 'chr', label: 'chr - Cherokee' },
      { value: 'zh', label: 'zh - Chinese' },
      { value: 'zh@collation=big5han', label: 'zh - Chinese - big5han' },
      { value: 'zh@collation=gb2312han', label: 'zh - Chinese - gb2312han' },
      { value: 'zh@collation=pinyin', label: 'zh - Chinese - pinyin' },
      { value: 'zh@collation=unihan', label: 'zh - Chinese - unihan' },
      { value: 'zh@collation=zhuyin', label: 'zh - Chinese - zhuyin' },
      { value: 'zh_Hant', label: 'zh_Hant - Chinese (Traditional)' },
      {
        value: 'zh_Hant@collation=stroke',
        label: 'zh_Hant - Chinese (Traditional) - stroke',
      },
      { value: 'hr', label: 'hr - Croatian' },
      { value: 'hr@collation=search', label: 'hr - Croatian - search' },
      { value: 'cs', label: 'cs - Czech' },
      { value: 'cs@collation=search', label: 'cs - Czech - search' },
      { value: 'da', label: 'da - Danish' },
      { value: 'da@collation=search', label: 'da - Danish - search' },
      { value: 'nl', label: 'nl - Dutch' },
      { value: 'dz', label: 'dz - Dzongkha' },
      { value: 'en', label: 'en - English' },
      { value: 'en_US', label: 'en_US - English (United States)' },
      {
        value: 'en_US_POSIX',
        label: 'en_US_POSIX - English (United States, Computer)',
      },
      { value: 'eo', label: 'eo - Esperanto' },
      { value: 'et', label: 'et - Estonian' },
      { value: 'ee', label: 'ee - Ewe' },
      { value: 'fo', label: 'fo - Faroese' },
      { value: 'fil', label: 'fil - Filipino' },
      { value: 'fi_FI', label: 'fi_FI - Finnish' },
      { value: 'fi_FI@collation=search', label: 'fi_FI - Finnish - search' },
      {
        value: 'fi_FI@collation=traditional',
        label: 'fi_FI - Finnish - traditional',
      },
      { value: 'fr', label: 'fr - French' },
      { value: 'fr_CA', label: 'fr_CA - French (Canada)' },
      { value: 'gl', label: 'gl - Galician' },
      { value: 'gl@collation=search', label: 'gl - Galician - search' },
      { value: 'ka', label: 'ka - Georgian' },
      { value: 'de', label: 'de - German' },
      { value: 'de@collation=search', label: 'de - German - search' },
      { value: 'de@collation=eor', label: 'de - German - eor' },
      { value: 'de@collation=phonebook', label: 'de - German - phonebook' },
      { value: 'de_AT', label: 'de_AT - German (Austria)' },
      {
        value: 'de_AT@collation=phonebook',
        label: 'de_AT - German (Austria) - phonebook',
      },
      { value: 'el', label: 'el - Greek' },
      { value: 'gu', label: 'gu - Gujarati' },
      { value: 'ha', label: 'ha - Hausa' },
      { value: 'haw', label: 'haw - Hawaiian' },
      { value: 'he', label: 'he - Hebrew' },
      { value: 'he@collation=search', label: 'he - Hebrew - search' },
      { value: 'hi', label: 'hi - Hindi' },
      { value: 'hu', label: 'hu - Hungarian' },
      { value: 'is', label: 'is - Icelandic' },
      { value: 'is@collation=search', label: 'is - Icelandic - search' },
      { value: 'ig', label: 'ig - Igbo' },
      { value: 'smn', label: 'smn - Inari Sami' },
      { value: 'smn@collation=search', label: 'smn - Inari Sami - search' },
      { value: 'id', label: 'id - Indonesian' },
      { value: 'ga', label: 'ga - Irish' },
      { value: 'it', label: 'it - Italian' },
      { value: 'ja', label: 'ja - Japanese' },
      { value: 'ja@collation=unihan', label: 'ja - Japanese - unihan' },
      { value: 'kl', label: 'kl - Kalaallisut' },
      { value: 'kl@collation=search', label: 'kl - Kalaallisut - search' },
      { value: 'kn', label: 'kn - Kannada' },
      {
        value: 'kn@collation=traditional',
        label: 'kn - Kannada - traditional',
      },
      { value: 'kk', label: 'kk - Kazakh' },
      { value: 'km', label: 'km - Khmer' },
      { value: 'kok', label: 'kok - Konkani' },
      { value: 'ko', label: 'ko - Korean' },
      { value: 'ko@collation=search', label: 'ko - Korean - search' },
      { value: 'ko@collation=searchjl', label: 'ko - Korean - searchjl' },
      { value: 'ko@collation=unihan', label: 'ko - Korean - unihan' },
      { value: 'ky', label: 'ky - Kyrgyz' },
      { value: 'lk', label: 'lk - Lakota' },
      { value: 'lo', label: 'lo - Lao' },
      { value: 'lv', label: 'lv - Latvian' },
      { value: 'li', label: 'li - Lingala' },
      { value: 'li@collation=phonetic', label: 'li - Lingala - phonetic' },
      { value: 'lt', label: 'lt - Lithuanian' },
      { value: 'dsb', label: 'dsb - Lower Sorbian' },
      { value: 'lb', label: 'lb - Luxembourgish' },
      { value: 'mk', label: 'mk - Macedonian' },
      { value: 'ms', label: 'ms - Malay' },
      { value: 'ml', label: 'ml - Malayalam' },
      { value: 'mt', label: 'mt - Maltese' },
      { value: 'mr', label: 'mr - Marathi' },
      { value: 'mn', label: 'mn - Mongolian' },
      { value: 'ne', label: 'ne - Nepali' },
      { value: 'se', label: 'se - Northern Sami' },
      { value: 'se@collation=search', label: 'se - Northern Sami - search' },
      { value: 'nb', label: 'nb - Norwegian Bokmål' },
      { value: 'nb@collation=search', label: 'nb - Norwegian Bokmål - search' },
      { value: 'nn', label: 'nn - Norwegian Nynorsk' },
      {
        value: 'nn@collation=search',
        label: 'nn - Norwegian Nynorsk - search',
      },
      { value: 'or', label: 'or - Oriya' },
      { value: 'om', label: 'om - Oromo' },
      { value: 'ps', label: 'ps - Pashto' },
      { value: 'fa', label: 'fa - Persian' },
      { value: 'fa_AF', label: 'fa_AF - Persian (Afghanistan)' },
      { value: 'pl', label: 'pl - Polish' },
      { value: 'pt', label: 'pt - Portuguese' },
      { value: 'pa', label: 'pa - Punjabi' },
      { value: 'ro', label: 'ro - Romanian' },
      { value: 'ru', label: 'ru - Russian' },
      { value: 'sr', label: 'sr - Serbian' },
      { value: 'sr_Latn', label: 'sr_Latn - Serbian (Latin)' },
      {
        value: 'sr_Latn@collation=search',
        label: 'sr_Latn - Serbian (Latin) - search',
      },
      { value: 'si', label: 'si - Sinhala' },
      { value: 'si@collation=dictionary', label: 'si - Sinhala - dictionary' },
      { value: 'sk', label: 'sk - Slovak' },
      { value: 'sk@collation=search', label: 'sk - Slovak - search' },
      { value: 'sl', label: 'sl - Slovenian' },
      { value: 'es', label: 'es - Spanish' },
      { value: 'es@collation=search', label: 'es - Spanish - search' },
      {
        value: 'es@collation=traditional',
        label: 'es - Spanish - traditional',
      },
      { value: 'sw', label: 'sw - Swahili' },
      { value: 'sv', label: 'sv - Swedish' },
      { value: 'sv@collation=search', label: 'sv - Swedish - search' },
      { value: 'ta', label: 'ta - Tamil' },
      { value: 'te', label: 'te - Telugu' },
      { value: 'th', label: 'th - Thai' },
      { value: 'bo', label: 'bo - Tibetan' },
      { value: 'to', label: 'to - Tongan' },
      { value: 'tr', label: 'tr - Turkish' },
      { value: 'tr@collation=search', label: 'tr - Turkish - search' },
      { value: 'uk', label: 'uk - Ukrainian' },
      { value: 'hsb', label: 'hsb - Upper Sorbian' },
      { value: 'ur', label: 'ur - Urdu' },
      { value: 'ug', label: 'ug - Uyghur' },
      { value: 'vi', label: 'vi - Vietnamese' },
      {
        value: 'vi@collation=traditional',
        label: 'vi - Vietnamese - traditional',
      },
      { value: 'wae', label: 'wae - Walser' },
      { value: 'cy', label: 'cy - Welsh' },
      { value: 'yi', label: 'yi - Yiddish' },
      { value: 'yi@collation=search', label: 'yi - Yiddish - search' },
      { value: 'yo', label: 'yo - Yoruba' },
      { value: 'zu', label: 'zu - Zulu' },
      { value: 'simple', label: 'simple' },
    ],
    required: true,
  },
  { field: 'strength', label: 'Strength', values: [1, 2, 3, 4, 5] },
  {
    field: 'caseLevel',
    values: [
      { value: true, label: 'true' },
      { value: false, label: 'false' },
    ],
  },
  {
    field: 'caseFirst',
    label: 'Case First',
    values: ['upper', 'lower', 'off'],
  },
  {
    field: 'numericOrdering',
    values: [
      { value: true, label: 'true' },
      { value: false, label: 'false' },
    ],
  },
  {
    field: 'alternate',
    label: 'Alternate',
    values: ['non-ignorable', 'shifted'],
  },
  { field: 'maxVariable', label: 'Max-Variable', values: ['punct', 'space'] },
  {
    field: 'backwards',
    values: [
      { value: true, label: 'true' },
      { value: false, label: 'false' },
    ],
  },
  {
    field: 'normalization',
    values: [
      { value: true, label: 'true' },
      { value: false, label: 'false' },
    ],
  },
];

export default COLLATION_OPTIONS;
export { LOADING_STATE, COLLATION_OPTIONS };
